/*
 * ReproduccionDT.cpp - Grupo 5 - Prog. Avanzada 2011
 *
 *  Javier Dominguez - 4.901.161-6
 *  Marcelo Parada - 1.977.094-9
 *  Rodrigo Ruiz - 4.481.611-2
 *  Maximiliano Silvera - 4.106.938-6
 */

#include "ReproduccionDT.h"

ReproduccionDT::ReproduccionDT()
{
}

ReproduccionDT::ReproduccionDT(int cantidad, int idTema, string nickUsuario, Fecha *fechaUltima)
{
	this->cantidad = cantidad;

	this->idTema = idTema;

	this->nickUsuario = nickUsuario;

	this->fechaUltima = new Fecha(fechaUltima);
}

ReproduccionDT::ReproduccionDT(int cantidad, int idTema, string tituloTema, string nickUsuario, string nombreUsuario, Fecha *fechaUltima)
{
	this->cantidad = cantidad;

	this->idTema = idTema;

	this->tituloTema = tituloTema;

	this->nickUsuario = nickUsuario;

	this->nombreUsuario = nombreUsuario;

	this->fechaUltima = new Fecha(fechaUltima);
}

string ReproduccionDT::getNickUsuario() const
{
    return nickUsuario;
}

string ReproduccionDT::getNombreUsuario() const
{
    return nombreUsuario;
}

void ReproduccionDT::setNickUsuario(string nickUsuario)
{
    this->nickUsuario = nickUsuario;
}

void ReproduccionDT::setNombreUsuario(string nombreUsuario)
{
    this->nombreUsuario = nombreUsuario;
}

int ReproduccionDT::getIdTema() const
{
    return idTema;
}

string ReproduccionDT::getTituloTema() const
{
    return tituloTema;
}

void ReproduccionDT::setIdTema(int idTema)
{
    this->idTema = idTema;
}

void ReproduccionDT::setTituloTema(string tituloTema)
{
    this->tituloTema = tituloTema;
}

int ReproduccionDT::getCantidad() const
{
    return cantidad;
}

void ReproduccionDT::setCantidad(int cantidad)
{
    this->cantidad = cantidad;
}

Fecha *ReproduccionDT::getFechaUltima() const
{
    return fechaUltima;
}

void ReproduccionDT::setFechaUltima(Fecha *fecha)
{
    this->fechaUltima = fechaUltima;
}

string ReproduccionDT::toString()
{
	return this->tituloTema;
}

bool ReproduccionDT::same(ICollectible *icollectible)
{
	ReproduccionDT *repDT = dynamic_cast<ReproduccionDT*>(icollectible);

	return (this->idTema == repDT->getIdTema() && this->nickUsuario.compare(repDT->getNickUsuario()) == 0);
}

ReproduccionDT::~ReproduccionDT()
{
	delete fechaUltima;
}
